#pragma once
#include <string>
#include <iostream>
#include <list>
#include "Expense.h"
#include "History.h"
#include "Income.h"
#include "Transaction.h"
#include "Transfer.h"
//@author A0091791X
using namespace std;


class Wallet
{
private:
	double _balance;
	list<string> _account;
    list<string> _category;
	list<Transaction> _record;
	list<double> _accDeposit;
	int _SN;

public:
	Wallet();
	~Wallet();

	//getter
	double getBalance();
	int getNoOfAccount();
	int getNoOfCategory();
	int getNoOfTransaction();
	int* getSNAddr();
	list<double>* getAccDep();
	list<string>* getAccList();
	list<string>* getCatList();
	list<Transaction>* getTranList();
	
	/*
	bool addAccount(string, double);
	bool editAccount(string,string);

	bool addCategory(string, double);
	bool delCategory(string);
	bool editCategory(string, string);
	
	bool addTransaction(Transaction*);
	bool delTransaction(Transaction*);
	bool delTransaction(list<Transaction>::iterator);

	bool checkAccName (string);
	bool checkCatName (string); 
	list<Account>::iterator searchAcc(string);
	list<Category>::iterator searchCat(string);
	Account* searchAccAddr(string);
	Category* searchCatAddr(string);
	*/
};